<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<link rel=File-List href="WhatDoesNotWork_files/filelist.xml">
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Peter Aronsson</o:Author>
  <o:Template>Normal</o:Template>
  <o:LastAuthor>Administrator</o:LastAuthor>
  <o:Revision>22</o:Revision>
  <o:TotalTime>110</o:TotalTime>
  <o:Created>2006-09-15T08:28:00Z</o:Created>
  <o:LastSaved>2007-08-18T15:18:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>395</o:Words>
  <o:Characters>2096</o:Characters>
  <o:Company>MathCore Engineering AB</o:Company>
  <o:Lines>17</o:Lines>
  <o:Paragraphs>4</o:Paragraphs>
  <o:CharactersWithSpaces>2487</o:CharactersWithSpaces>
  <o:Version>11.5606</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:Zoom>110</w:Zoom>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
h1
	{mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	mso-outline-level:1;
	font-size:24.0pt;
	font-family:"Times New Roman";}
h2
	{mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	mso-outline-level:2;
	font-size:18.0pt;
	font-family:"Times New Roman";}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:78067461;
	mso-list-template-ids:335817006;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1
	{mso-list-id:510530783;
	mso-list-template-ids:-722671994;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level2
	{mso-level-tab-stop:72.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l1:level3
	{mso-level-tab-stop:108.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l1:level4
	{mso-level-tab-stop:144.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l1:level5
	{mso-level-tab-stop:180.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l1:level6
	{mso-level-tab-stop:216.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l1:level7
	{mso-level-tab-stop:252.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l1:level8
	{mso-level-tab-stop:288.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l1:level9
	{mso-level-tab-stop:324.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2
	{mso-list-id:515659883;
	mso-list-template-ids:-1204920748;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level2
	{mso-level-tab-stop:72.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2:level3
	{mso-level-tab-stop:108.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2:level4
	{mso-level-tab-stop:144.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2:level5
	{mso-level-tab-stop:180.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2:level6
	{mso-level-tab-stop:216.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2:level7
	{mso-level-tab-stop:252.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2:level8
	{mso-level-tab-stop:288.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l2:level9
	{mso-level-tab-stop:324.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l3
	{mso-list-id:917448862;
	mso-list-template-ids:-592780374;}
@list l3:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4
	{mso-list-id:1618026545;
	mso-list-template-ids:-1643477878;}
@list l4:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level2
	{mso-level-tab-stop:72.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l4:level3
	{mso-level-tab-stop:108.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l4:level4
	{mso-level-tab-stop:144.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l4:level5
	{mso-level-tab-stop:180.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l4:level6
	{mso-level-tab-stop:216.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l4:level7
	{mso-level-tab-stop:252.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l4:level8
	{mso-level-tab-stop:288.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l4:level9
	{mso-level-tab-stop:324.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l5
	{mso-list-id:2039625255;
	mso-list-template-ids:-1974192672;}
@list l5:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
table.Normaltabell
	{mso-style-name:"Normal tabell";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="6146"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=SV style='tab-interval:65.2pt'>

<div class=Section1>

<h1><span lang=EN-GB style='mso-ansi-language:EN-GB'>Things that do not work<o:p></o:p></span></h1>

<p class=MsoNormal style='margin-bottom:12.0pt'><span lang=EN-GB
style='mso-ansi-language:EN-GB'>In <span class=SpellE>OpenModelica</span> from
Subversion<o:p></o:p></span></p>

<h2><span lang=EN-GB style='mso-ansi-language:EN-GB'>&nbsp;In simulation code: <o:p></o:p></span></h2>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo3;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Limited error checking in numerical
     solver. <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo3;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>No dynamic selection of states (in index
     reduction) <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo3;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Only possible to run with <span
     class=SpellE>DASSL</span> numerical solver. <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo3;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>If equations does not work. Workaround:
     use if-expressions instead.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo3;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Functions returning several values (<span
     class=SpellE>tuples</span>) does not work in equations.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo3;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Events on algebraic variables (Only
     state-events works)<o:p></o:p></span></li>
</ul>

<h2><span lang=EN-GB style='mso-ansi-language:EN-GB'>In translation to flat <span
class=SpellE>Modelica</span>: <o:p></o:p></span></h2>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Inner/Outer<span class=GramE>&nbsp; of</span>
     classes does not work. Only inner/outer of components works.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Some <span class=SpellE>excotic</span>
     cases with Modifications, especially with <span class=SpellE>redeclare</span>.
     <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Final element modification not checked
     against.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE>Constraining</span>
     <span class=SpellE>type</span> on <span class=SpellE>redeclarations</span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Restrictions on <span class=SpellE>redeclarations</span>
     (subtype etc.)<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Derivatives of functions, using
     annotations. <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Components of function type not
     implemented.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE>When</span>
     <span class=SpellE>clauses</span> in <span class=SpellE>algorithms</span>.
     </li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE>Restrictions</span>
     on <span class=SpellE>connections</span>. </li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>The following operators in 3.4.2 have not
     been implemented: <br>
     smooth terminate delay &nbsp;<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'><span
     style='mso-spacerun:yes'>&nbsp;</span>The following operators in 3.4.3
     have not been implemented: <br>
     <span class=SpellE>ndims</span> matrix <span class=SpellE>outerProduct</span>
     <span class=SpellE>linspace</span> symmetric skew&nbsp; <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE>Reduction</span>
     expressions, </li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Slice operation. Partly works but the
     resulting component names are sometimes messed up. <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Output parameters of functions, enable
     attribute, etc.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Array construction (3.4.4.1). Using <span
     class=GramE>array(</span>... for ...) (and {&#8230; for &#8230;}) syntax.
     Partially implemented.<span
     style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     </span><br>
     What DOES work: <br>
     In equation sections (for basic types real, integer, <span class=SpellE>boolean</span>)
     &#8230; <br>
     Assignments such as &#8230;<br>
     <span class=SpellE>arr</span> = {... for <span class=SpellE>i</span> in
     1:x, j in 1:x, ...}; (multiple <span class=SpellE>iterators</span>)<br>
     (cases that do not work may exist)<br>
     <br>
     In algorithm sections (for basic types real, integer, <span class=SpellE>boolean</span>)
     &#8230;<br>
     Assignments such as ...<br>
     <span class=SpellE>arr</span> := {... for <span class=SpellE>i</span> in
     &#8230;, j in &#8230;, ...}; (multiple <span class=SpellE>iterators</span>)<br>
     <span class=SpellE>var</span> := <span class=SpellE>function_call</span>(...
     for <span class=SpellE>i</span> in &#8230;, for j in &#8230;); (multiple <span
     class=SpellE>iterators</span>) <br>
     (cases that do not work may exist)<br>
     <br>
     Left to do: <br>
     - Constant evaluation and/or optimization. Could be implemented as
     function calls with index as argument. Or array can be unrolled and
     indexed, or if constant value can be calculated and indexed. Array should
     then be cached. <br>
     - Automatic type conversion of element type, e.g. (<span class=GramE>Real[</span>])
     a[5] = {(Integer)3 for ...} fails. <o:p></o:p></span></li>
</ul>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Deduction of ranges (3.3.3.1). It is
     allowed to leave out &quot;in range&quot; in loops. <span class=GramE>e.g</span>.
     for <span class=SpellE>i</span> loop ... end for; according to
     specification.<o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Multiple loop ranges, e.g.: for <span
     class=SpellE>i</span> in 1:5, j in 1:3 loop a[<span class=SpellE>i,j</span>]=<span
     class=SpellE>i</span>*j; end for; <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Constant evaluation of record constructors
     for hierarchical records. <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><span lang=EN-GB
     style='mso-ansi-language:EN-GB'>Constant evaluation of dot ('.') operator.
     <o:p></o:p></span></li>
</ul>

</div>

</body>

</html>
